From b9613c08b1296331df31c590e76cdfb58c41b264 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Tue, 19 Jun 2007 15:17:20 -0600 Subject: [PATCH] [IA64] Enable more sn2 features under Xen Signed-off-by: Jes Sorensen --- xen/arch/ia64/linux-xen/sn/kernel/io_init.c | 4 ++-- xen/arch/ia64/linux-xen/sn/kernel/irq.c | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/xen/arch/ia64/linux-xen/sn/kernel/io_init.c b/xen/arch/ia64/linux-xen/sn/kernel/io_init.c index ca0b66d0d8..471d404bdf 100644 --- a/xen/arch/ia64/linux-xen/sn/kernel/io_init.c +++ b/xen/arch/ia64/linux-xen/sn/kernel/io_init.c @@ -182,6 +182,7 @@ sn_pcidev_info_get(struct pci_dev *dev) } return NULL; } +#endif /* Older PROM flush WAR * @@ -361,6 +362,7 @@ sn_pci_window_fixup(struct pci_dev *dev, unsigned int count, controller->window = new_window; } +#ifndef XEN void sn_pci_unfixup_slot(struct pci_dev *dev) { struct pci_dev *host_pci_dev = SN_PCIDEV_INFO(dev)->host_pci_dev; @@ -656,9 +658,7 @@ void sn_bus_free_sysdata(void) static int __init sn_io_early_init(void) { int i, j; -#ifndef XEN struct pci_dev *pci_dev = NULL; -#endif if (!ia64_platform_is("sn2") || IS_RUNNING_ON_FAKE_PROM()) return 0; diff --git a/xen/arch/ia64/linux-xen/sn/kernel/irq.c b/xen/arch/ia64/linux-xen/sn/kernel/irq.c index 12fcf15d87..3feeccbd94 100644 --- a/xen/arch/ia64/linux-xen/sn/kernel/irq.c +++ b/xen/arch/ia64/linux-xen/sn/kernel/irq.c @@ -27,6 +27,7 @@ #include #ifdef XEN +#define pci_dev_get(dev) do {} while(0) #define move_native_irq(foo) do {} while(0) #endif @@ -264,7 +265,6 @@ void sn_irq_init(void) } } -#ifndef XEN static void register_intr_pda(struct sn_irq_info *sn_irq_info) { int irq = sn_irq_info->irq_irq; @@ -278,6 +278,7 @@ static void register_intr_pda(struct sn_irq_info *sn_irq_info) pdacpu(cpu)->sn_first_irq = irq; } +#ifndef XEN static void unregister_intr_pda(struct sn_irq_info *sn_irq_info) { int irq = sn_irq_info->irq_irq; @@ -339,9 +340,7 @@ static void unregister_intr_pda(struct sn_irq_info *sn_irq_info) spin_unlock(&sn_irq_info_lock); #endif } -#endif /* XEN */ -#ifndef XEN static void sn_irq_info_free(struct rcu_head *head) { struct sn_irq_info *sn_irq_info; @@ -351,7 +350,6 @@ static void sn_irq_info_free(struct rcu_head *head) } #endif -#ifndef XEN void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) { nasid_t nasid = sn_irq_info->irq_nasid; @@ -360,7 +358,9 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) pci_dev_get(pci_dev); sn_irq_info->irq_cpuid = cpu; +#ifndef XEN sn_irq_info->irq_pciioinfo = SN_PCIDEV_INFO(pci_dev); +#endif /* link it into the sn_irq[irq] list */ spin_lock(&sn_irq_info_lock); @@ -379,6 +379,7 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) void sn_irq_unfixup(struct pci_dev *pci_dev) { +#ifndef XEN struct sn_irq_info *sn_irq_info; /* Only cleanup IRQ stuff if this device has a host bus context */ @@ -408,8 +409,8 @@ void sn_irq_unfixup(struct pci_dev *pci_dev) #endif pci_dev_put(pci_dev); -} #endif +} static inline void sn_call_force_intr_provider(struct sn_irq_info *sn_irq_info) -- 2.30.2